As a technique capable of providing seamless connection of a communication network, such as the Internet, to a user who accesses the communication network via a wireless network from a mobile terminal while moving, a technique using a mobile IP which is the next generation Internet Protocol is becoming popular. The wireless communication system using this mobile IP will be described referring to FIG. 1. The technique of the mobile IP that will be described below is disclosed in, for example, Non-patent Document 1 and Non-patent Document 2 mentioned below.
The communication system shown in FIG. 1 includes a network (communication network) 170, such as the Internet, a plurality of subnetworks (hereinafter “subnets”) 102, 126 connected to the network 170, a mobile terminal (MN: Mobile Node) 100 connectable to any one of those subnets 102, 126, and a corresponding terminal (CN: Corresponding Node) 124 which communicate with the MN 100 via the network 170. FIG. 1 shows two subnets 102, 126 as a plurality of subnets. While the network 170 is constructed by routers (QNE: QoS NSIS Entities) 108, 112, 120, 122, 132 which can provide additional services, such as QoS to be described later, a node (HA: Home Agent) 116 having a function of registering the terminal position of a mobile IP to be described later, and links 140, 142, 144, 146, 148, 150, 152, 156, 158, 160, 162, 164 which connect those components, as network elements, other configurations may be possible as the configuration of the network 170. FIG. 1 shows a QNE or a router having the function of NSIS QoS to be described later, as a router which can provide an additional service.
In FIG. 1, let a path 180 be a path going through the MN 100, an AP 104, an AR 106, the link 140, the QNE 108, the network 110, the link 142, the QNE 112, the link 144, the network 114, the link 146, the HA 116, the link 148, the network 118, the link 150, the QNE 120, the link 152, the QNE 122, the link 156, and the CN 124. Let a path 182 be a path going through the MN 100, an AP 104, an AR 106, the link 140, the QNE 108, the network 110, the link 164, the QNE 120, the link 152, the QNE 122, the link 156, and the CN 124. Let a path 184 be a path going through the MN 100, an AP 128, an AR 130, the link 158, the QNE 132, the network 134, the link 160, the QNE 112, the link 144, the network 114, the link 146, the HA 116, the link 148, the network 118, the link 150, the QNE 120, the link 152, the QNE 122, the link 156, and the CN 124. Let a path 186 be a path going through the MN 100, the AP 128, the AR 130, the link 158, the QNE 132, the network 134, the link 162, the QNE 122, the link 156, and the CN 124.
The subnet 102 comprises an access router (AR) 106 which performs routing of IP packets, and a plurality of access points (AP) 104 having a specific wireless coverage area (communicatable area). The AP 104 is connected to the AR 106 which is connected to the IP network 170. FIG. 1 shows one AP 104 as a plurality of APs in the subnet 102. The subnet 126 likewise comprises an AR 130 and a plurality of APs 128 in the same connection mode as that of the subnet 102.
The AR 106 as a constituting element of the subnet 102 and the AR 130 as a constituting element of the subnet 126 can communicate with each other via the IP network 170, i.e., the subnet 102 and the subnet 126 are connected together via the IP network 170.
Suppose that in the wireless communication system shown in FIG. 1, the MN 100 has started wireless communication with the AP 104 in the subnet 102. At this time, when an IP address assigned to the MN 100 is not compatible with the IP address system of the subnet 102, the MN 100 present in the subnet 102 acquires an IP address compatible with the subnet 102, or a care of address (CoA) by wireless communication with the AP 104.
In a mobile IP, a home agent (HA) is placed as a node which manages the position of an MN. The MN 100 registers (BU: Binding Update) the CoA acquired from the subnet 102 in the HA 116. At the time of registration, the HA 116 has corresponding information (Binding Cache) of a home address (HoA) of the MN 100 which does not depend on the subnet to which the MN 100 moves, and the CoA. Accordingly, at the time the MN 100 transmits/receives data packets to/from the CN 124, with regard to transmission from the MN 100 to the CN 124, a data packet having the HoA of the MN 100 as a sender and the IP address of the CN 124 as a sendee is encapsulated with an IP header having the CoA of the MN 100 as a sender and the IP address of the HA 116 as a sendee, and is first sent to the HA 116 where the data packet is decapsulated, and is then sent to the CN 124. With regard to transmission from the CN 124 to the MN 100, a data packet having the IP address of the CN 124 as a sender and the HoA of the MN 100 as a sendee is sent to the MN 100, and is received by the HA 116, and the data packet is encapsulated with an IP header having the IP address of the HA 116 as a sender and the CoA of the MN 100 as a sendee, and is sent to the MN 100 present in the subnet 102 to which the MN 100 moves. The MN 100 receives the packet from the HA 116 and extracts and processes the encapsulated content. Accordingly, even though the MN 100 is communicating with the CN 124 over the moving destination subnet, the CN 124 sees it as if the MN 100 were communicating therewith over the home network using the HoA, thus ensuring continuous bidirectional communications without being aware of the movement of the MN 100. In this case, the path (path 180) along which data packet to be transmitted and received between the MN 100 and the CN 124 passes through the HA 116 is called “triangle path”.
This triangle path becomes a path which should pass the HA 116 in communications between the MN 100 and the CN 124 and is not an optimal path (which hereinafter may also called optimized path). To transmit and receive a data packet in an optimal path, the MN 100 can optimize the path by sending BU to the CN 124 and performs a position registration process with respect to the CN 124 when the CN 124 has a path optimizing function. That is, because the CN 124 can know the HoA of the MN 100 and corresponding information of the CoA that the MN 100 is currently using upon reception of the BU from the MN 100, a data packet from the CN 124 which is addressed to the MN 100 can be sent through an optimal path without going through the HA 116 with the CN 124 being a sender and the CoA of the MN 100 as a sendee, and likewise, an optimal path (path 182) without intervening the HA 116 can be used for a data packet to be sent to the CN 124 from the MN 100 with the CoA of the MN 100 being a sender. When the optimized path cannot be used (e.g., when the MN 100 has moved to the subnet 126 so that the CoA which has been used so far cannot be used), a data packet to be sent to the MN 100 from the CN 124 is sent again to the HoA (i.e., the HA 116).
According to the specifications of a mobile IP (Non-patent Document 1 and Non-patent Document 2), when the MN 100 acquires a new CoA to be used under a new subnet, it is necessary to first perform BU to the HA 116. That is, data packets to be transmitted and received between the MN 100 and the CN 124 pass through a triangle path until the MN 100 later performs BU to the CN 124 to enable the use of an optimized path.
In communications using a network, there are services including QoS guarantee (such a service will be herein called an additional service), and there are multifarious communication protocols to realize such an additional service. Of those multifarious communication protocols, the RSVP (Resource Reservation Protocol) is an example of a protocol for QoS guarantee (e.g., Non-patent Document 3 to be mentioned below). The RSVP reserves a band on the path where the flow of data packets from a sender communication terminal which transmits data to a receiver communication terminal which receives data passes, thus ensuring smooth transfer of data from the sender communication terminal to the receiver communication terminal.
Further, as a protocol to solve the problem of the RSVP such that it is not designed to cope with movement of a terminal, there is a protocol, NSIS, whose standardization is being discussed at present in the NSIS working group in the IETF (Internet Engineering Task Force). The NSIS is expected to be particularly effective for various additional services including QoS guarantee in a mobile environment, and there are documents describing requirements and a method for realizing QoS guarantee and mobility service (e.g., Non-patent Document 4 to be mentioned below). A method of establishing a QoS path using the NSIS will be described below.
Next, one example of the conventional QoS path establishing method will be described referring to FIG. 9. It is assumed that an MN 700 subordinate to an AR 702 is scheduled to receive, or is receiving (is currently receiving), data from a CN 712 for some purpose. With regard to the purpose, in a case of receiving a moving picture distributed from the CN 712, for example, a sequence of operations from the initiation of the application to the end thereof is called session. In establishing a QoS path, the MN 700 generates a session identifier to identify a session and a flow identifier to identify a flow. The flow identifier depends on the addresses of the sender and sendee of a data packet, e.g., the CoA of the MN 700 and the IP address of the CN 712. When the MN 700 moves to another subnet so that the CoA is changed, the flow identifier changes according to a change in the CoA of the MN 700. The session identifier, unlike the flow identifier, does not change according to the movement of a terminal.
Next, the MN 700 sends the CN 712 a RESERVE message which is a message for causing a router (QNE) having an NSIS QoS protocol stack to reserve a desired QoS resource. The RESERVE message includes desired QoS information (Qspec) for reception of data from the CN 712, and the generated flow identifier and session identifier. The transmitted RESERVE message reaches a QNE 706 via an AR 702 and a router 704 which does not have a QNE function. The QNE 706 reserves the QoS resource described in the Qspec included in the RESERVE message for this session. At the time of making the reservation, the QNE 706 stores the session identifier, the flow identifier and information of the previous QNE by one (MN 700 here) which has received the RESERVE message, as a state. The RESERVE message which has passed the QNE 706 reaches a QNE 710 via a router 708 which does not have the QNE function. The QNE 710 performs a process similar to the one performed by the QNE 706 to reserve a QoS resource and store a state. This operation is repeated and the RESERVE message is finally supplied to the CN 712, thereby establishing a QoS path 714 between the MN 700 and the CN 712.
Next, the aggregation of a session in NSIS will be described. As described in Non-patent Document 6 mentioned below, the NSIS supports aggregation of a session. The aggregation of a session is to organize a plurality of paths into one, and execute management and processing thereof.
Referring now to FIG. 10, a description will be given of a signaling message which is to be transmitted when a session is aggregated in the NSIS. FIG. 10 is a diagram exemplarily showing one example of aggregation supported by the conventional NSIS.
In FIG. 10, a QNE 1002 and QNE 1006 are located at edges of an aggregation domain, and a QNE 1004 is shown as a representative of QNEs present within the aggregation domain. An end-to-end (E2E) signaling message E2E_A (session identifier: A) which is transmitted to a QNE 1010 from a QNE 1000 passes through the QNE 1002, QNE 1006 and a QNE 1008. An E2E signaling message E2E_B (session identifier: B) which is transmitted to a QNE 1014 from a QNE 1012 passes through the QNE 1002 and the QNE 1006.
The two E2E signaling messages are aggregated between the QNE 1002 and the QNE 1006. That is, within the aggregation domain, an aggregation signaling message Agg_C (session identifier: C) for the aggregation domain is transmitted from the QNE 1002 or the QNE 1006, and the aggregation signaling message Agg_C passes through the QNE 1004.
The QNE 1002 and the QNE 1006 are notified of information indicating that the E2E signaling message E2E_A and the E2E signaling message E2E_B are aggregated into the aggregation signaling message Agg_C, by using a parameter, BOUND_SESSION_ID.
For example, when the E2E signaling message E2E_A is transmitted from the QNE 1000 and reaches the QNE 1002 which is the entrance of the aggregation domain, the BOUND_SESSION_ID parameter is added to the E2E signaling message E2E_A, and information indicating which session identifier is used in the aggregation domain (i.e., session identifier C) is stored in the BOUND_SESSION_ID parameter. When the E2E signaling message E2E_A having the BOUND_SESSION_ID parameter added thereto reaches the QNE 1006 which is the exit of the aggregation domain, the BOUND_SESSION_ID parameter is removed from the E2E signaling message E2E_A.
Likewise, when the E2E signaling message E2E_B is transmitted from the QNE 1012 and reaches the QNE 1002 which is the entrance of the aggregation domain, the BOUND_SESSION_ID parameter is added to the E2E signaling message E2E_B, and the session identifier C is stored in the BOUND_SESSION_ID parameteras in the case of the E2E signaling message E2E_A. When the E2E signaling message E2E_B having the BOUND_SESSION_ID parameter added thereto reaches the QNE 1006 which is the exit of the aggregation domain, the BOUND_SESSION_ID parameter is removed from the E2E signaling message E2E_B. The information on the aggregation of the session identifier which is notified by the BOUND_SESSION13 ID parameter may be stored in the QNE 1002 or the QNE 1006 which respectively is the entrance or the exit of the aggregation domain.
Meanwhile, the BOUND_SESSION_ID parameter is also used to associate different sessions with each other in addition to aggregation. Referring now to FIG. 11, a description will be given of a signaling message to be transmitted to associate different sessions with each other in the NSIS.
FIG. 11 is a diagram exemplarily showing one example of association of different sessions supported by the conventional NSIS. In FIG. 11, an E2E signaling message E2E_A (session identifier A) and an E2E signaling message E2E_D (session identifier D) are messages associated with each other. When a QNE 1100 and a QNE 1110 are bidirectionally communicating with each other using a VoIP (Voice over Internet Protocol) for example, the E2E signaling message E2E_A is a signaling message for QoS management which is transmitted to the QNE 1110 from the QNE 1100 via QNEs 1102, 1106 and 1108 with respect to this VoIP session, while the E2E signaling message E2E_D is a signaling message for QoS management which is transmitted to the QNE 1100 from the QNE 1110 (i.e., in the opposite direction to that of the E2E signaling message E2E_A) via QNEs 1120, 1106 and 1108 with respect to this VoIP session.
In this case, when a telephone session ends and a QoS path from the QNE 1100 to the QNE 1110 is released, for example, a QoS path from the QNE 1000 to the QNE 1100 is also released at the same time if the association of the session identifier A with the session identifier D is known beforehand. For this purpose, the BOUND_SESSION_ID parameter is used.
That is, the BOUND_SESSION_ID parameter is added to the E2E signaling message E2E_A, and the session identifier D is stored in the BOUND_SESSION_ID parameter. The BOUND_SESSION_ID parameter may also be added to the E2E signaling message E2E_A, with the session identifier A stored in the BOUND_SESSION_ID parameter. Accordingly, the E2E signaling message E2E_A is associated with the E2E signaling message E2E_D by the session identifier D. Related information of the session identifier that is notified by the BOUND_SESSION_ID parameter may be stored in each QNE.
While the NSIS covers various functions in an ordinary static network as well as the mobile environment, it is assumed herein that paying attention to the function of establishing a mobility-supported additional service which is one of the functions of the NSIS, the implementation of the NSIS achieves the establishment of a mobility-supported additional service.
Non-patent Document 1: C. Perkins, et. al., “IP Mobility Support for IPv4”, IETF RFC 3220
Non-patent Document 2: D. Johnson, C. Perkins, J. Arkko, “Mobility Support in IPv6”, IETF RFC 3775
Non-patent Document 3: R. Braden, et. al., “Resource Reservation Protocol”, IETF RFC 2205
Non-patent Document 4: S. Van Den Bosch, et. al., “NSLP for Quality-of-Service signaling”, IETF Internet Draft draft-ietf-nsis-qos-nslp-04.txt
Non-patent Document 5: D. Durham, Ed., “The COPS (Common Open Policy Service) Protocol”, IETF RFC 2748
Non-patent Document 6: Sven Van den Bosch, Georgios Karagiannis and Andrew McDonald “NSLP for Quality-of-Service signaling”, draft-ietf-nsis-qos-nslp-07.txt, July 2005
Let us consider establishment of an NSIS-used QoS path on a path (data path) where the flow of a data packet passes between MN and CN in the mobile IP. As mentioned above, with an MN being subordinate to a subnet, there are two paths, a triangle path and an optimized path, in a data path, and a QoS path is established for the two paths. This case requires some means to identify if the two QoS paths are established for the triangle path or established for the optimized path. This is because when a QoS path is present between two terminals and another QoS path for the same session has further been established or is about to be established between those two terminals according to the conventional NSIS, the QoS path previously established is basically released. Because the triangle path is used when the optimized path becomes unavailable for some reason, however, it is desirable that the QoS path for the triangle path should not be released when the QoS path for the optimized path is established.
As means for leaving a QoS path established so far unreleased at the time of establishing another QoS path as in the aforementioned case according to the conventional NSIS, means for setting a REPLACE flag to “No Replace” at the time of establishing another QoS path has been introduced. However, this means leaves all the QoS paths for the same session which are present between same two terminals, and does not cope with a flexible process such that when an MN moves and tries to establish a new QoS path with a CN under a new subnet, of two QoS paths (for a triangle path and for an optimized path) established under the original subnet, only the QoS path for the triangle path is left while the QoS path for the optimized path is released. Further, with regard to QoS paths, it is required to execute a specific process for a specific path in addition to a process of determining whether or not to release a QoS path. That is, when an MN is present under a subnet and a QoS path for an optimized path is established after establishing a QoS path for a triangle path, for example, the QoS path for the triangle path is left unreleased but a process of reducing reserved QoS resources is required.
In a case of overcoming the problem using the conventional NSIS means, there may be a method of instructing the flow identifier of a QoS path for which an MN performs a specific process and the process, both included in a signaling message. However, the flow identifier is comprised of other information including the sender and sendee addresses of a data packet, and has a large amount of information, so that the method of adding this flow identifier to a signaling message and transmitting it applies a load to the network. As another problem, this method cannot be adapted when there are a plurality of QoS paths having the same flow identifier for the same session. Because a QoS path for a triangle path and a QoS path for an optimized path are established between the same terminals, it is likely that the paths have the same flow identifier the future discussion in the NSIS working group.
As another method of overcoming the problem using the conventional NSIS means, there may be a method of using different session identifiers for a QoS path for a triangle path and a QoS path for an optimized path. The use of the method can allow the QoS path for a triangle path and the QoS path for an optimized path to be treated as independent QoS paths. However, in a case of avoiding double resource reservation at a portion where a QoS path for a triangle path and a QoS path for an optimized path overlap, for example, information which associates the two session identifiers with each other is needed, resulting in that a large amount of information is included in a signaling message as in the above-described case. Further, this method is inconsistent with the definition that a session identifier “identifies a session”.
When the circumstances illustrated in FIG. 10 and FIG. 11 occur at the same time, a problem relating to the type of a path also arises. FIG. 12 is an exemplary diagram for explaining the problem when aggregation signaling message Agg_of sessions and association of different sessions are executed at the same time according to the related art.
It is assumed that in FIG. 12, the E2E signaling message E2E_A and the E2E signaling message E2E_D relating to each other are used between a QNE 1200 and a QNE 1210, and the E2E signaling message E2E_A and the aggregation signaling message Agg_C are aggregated between a QNE 1202 and a QNE 1206.
That is, as shown in FIG. 12, the E2E signaling message E2E_A which is sent to the QNE 1210 from the QNE 1200 via the QNE 1202, the QNE 1206, and a QNE 1208 and the E2E signaling message E2E_D which is sent to the QNE 1200 from the QNE 1210 via a QNE 1220, the QNE 1206, and the QNE 1202 are associated with each other, and the QNE 1202 and the QNE 1206 are positioned at edges of the aggregation domain that has a QNE 1204 inside.
In this case, two BOUND_SESSION_ID parameters, namely, the BOUND_SESSION_ID parameter where the session identifier C indicating the association with the aggregation signaling message Agg_C is stored and the BOUND_SESSION_ID parameter where the session identifier D indicating the association with the E2E signaling message E2E_D is stored need to be added into the E2E signaling message E2E_A.
According to the present NSIS specifications, however, it is not possible to add a plurality of BOUND_SESSION_ID parameters into a single signaling message or store a plurality of session identifiers in a single BOUND_SESSION_ID parameter.
If the present NSIS specifications supports to add a plurality of BOUND_SESSION_ID parameters into a single signaling message or store a plurality of session identifiers in a single BOUND_SESSION_ID parameter, the QNE 1202 and the QNE 1206 cannot distinguish two BOUND_SESSION_ID parameters or a plurality of session identifiers included in a BOUND_SESSION_ID parameter.
In a case where two BOUND_SESSION_ID parameters, in one of which the session identifier C indicating aggregation is stored and in the other one of which the session identifier D indicating the association with a different session is stored, are added to the E2E signaling message E2E_A in the QNE 1202, the QNE 1206 cannot instantaneously distinguish which one of the session identifiers respectively stored in the two BOUND_SESSION_ID parameters is for aggregation and which session identifier is for identifying an associated session by referring to the session identifiers stored in the BOUND_SESSION_ID parameters.
Although the QNE 1206 can distinguish the BOUND_SESSION_ID parameter for aggregation by, for example, checking the session identifier used in the aggregation domain (i.e., session identifier C) and comparing this session identifier with the session identifier in the BOUND_SESSION_ID parameter, the QNE 1206 always needs to execute the session identifier check process and comparison process, thus raising a problem of increasing the process load of the QNE 1206.
There may be a solution of distinguishing the session identifier stored in the BOUND_SESSION_ID parameter by providing, in a BOUND_SESSION_ID parameter, a field having information capable of distinguishing the BOUND_SESSION_ID parameter for aggregation from the BOUND_SESSION_ID parameter for identifying an associated session beforehand. In this case, however, the parameter length becomes longer by that field, and it is necessary to perform a process on the BOUND_SESSION_ID parameter after checking the field, thus increasing the process load of the QNE 1206.